#ifndef PARENT_H
#define PARENT_H

#include <iostream>
#include <vector>
using namespace std;

class ParentDataRow {
public:
	//constructor
	ParentDataRow(int parent, int child);

	void setParent(int parent);
	void setChild(int child);
	int getParent();
	int getChild();

private:
	int parent; //index of the respective statements
	int child;
};

class Parent {
public:
	//constructor
	Parent();

	static void setParentRelation(int parent, int child);
	static bool isParentRelation(int parent, int child);
	static bool isParentStarRelation(int parent, int child);
	static int getParent(int child);
	static vector<int> getChild(int parent);
	static vector<int> getParentStar(int child);	
	static vector<int> getChildStar(int parent);

	//for unit testing
	static ParentDataRow getLastDataRowFromTable();

private:
	static vector<ParentDataRow> table;
};

#endif